tools/ocaml: Properly adjust fields in ocaml structure to match the C layer.
authorIan Jackson <Ian.Jackson@eu.citrix.com>
Tue, 13 Jul 2010 18:28:13 +0000 (19:28 +0100)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Tue, 13 Jul 2010 18:28:13 +0000 (19:28 +0100)
Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
tools/ocaml/libs/xl/xl.ml
tools/ocaml/libs/xl/xl.mli
tools/ocaml/libs/xl/xl_stubs.c

index 1e3642fe4867e016e123d1e4ad4beba7cc5c8e25..0e47a85927b1fb60e0355196ba7a8a9f783f0270 100644 (file)
@@ -45,15 +45,15 @@ type build_hvm_info =
        nx : bool;
        viridian : bool;
        timeoffset : string;
+       timer_mode : int;
+       hpet : int;
+       vpt_align : int;
 }
 
 type build_spec = BuildHVM of build_hvm_info | BuildPV of build_pv_info
 
 type build_info =
 {
-       timer_mode : int;
-       hpet : int;
-       vpt_align : int;
        max_vcpus : int;
        cur_vcpus : int;
        max_memkb : int64;
index 4193e59a6d17a4ddf4b2cda3f16a155fad9a1806..649429638be7c5c2e5426c2358b3de547edfdffc 100644 (file)
@@ -45,15 +45,15 @@ type build_hvm_info =
        nx : bool;
        viridian : bool;
        timeoffset : string;
+       timer_mode : int;
+       hpet : int;
+       vpt_align : int;
 }
 
 type build_spec = BuildHVM of build_hvm_info | BuildPV of build_pv_info
 
 type build_info =
 {
-       timer_mode : int;
-       hpet : int;
-       vpt_align : int;
        max_vcpus : int;
        cur_vcpus : int;
        max_memkb : int64;
index 2d0bb54b1640a0b9ecf466f6626dddb4c339df42..4e8d45ea2e2e30a275d651f462cdabd24f42d470 100644 (file)
@@ -114,15 +114,15 @@ static int domain_build_info_val (libxl_domain_build_info *c_val, value v)
        CAMLparam1(v);
        CAMLlocal1(infopriv);
 
-       c_val->max_vcpus = Int_val(Field(v, 3));
-       c_val->cur_vcpus = Int_val(Field(v, 4));
-       c_val->max_memkb = Int64_val(Field(v, 5));
-       c_val->target_memkb = Int64_val(Field(v, 6));
-       c_val->video_memkb = Int64_val(Field(v, 7));
-       c_val->shadow_memkb = Int64_val(Field(v, 8));
-       c_val->kernel = String_val(Field(v, 9));
-       c_val->hvm = Tag_val(Field(v, 10)) == 0;
-       infopriv = Field(Field(v, 10), 0);
+       c_val->max_vcpus = Int_val(Field(v, 0));
+       c_val->cur_vcpus = Int_val(Field(v, 1));
+       c_val->max_memkb = Int64_val(Field(v, 2));
+       c_val->target_memkb = Int64_val(Field(v, 3));
+       c_val->video_memkb = Int64_val(Field(v, 4));
+       c_val->shadow_memkb = Int64_val(Field(v, 5));
+       c_val->kernel = String_val(Field(v, 6));
+       c_val->hvm = Tag_val(Field(v, 7)) == 0;
+       infopriv = Field(Field(v, 7), 0);
        if (c_val->hvm) {
                c_val->u.hvm.pae = Bool_val(Field(infopriv, 0));
                c_val->u.hvm.apic = Bool_val(Field(infopriv, 1));
@@ -130,9 +130,9 @@ static int domain_build_info_val (libxl_domain_build_info *c_val, value v)
                c_val->u.hvm.nx = Bool_val(Field(infopriv, 3));
                c_val->u.hvm.viridian = Bool_val(Field(infopriv, 4));
                c_val->u.hvm.timeoffset = String_val(Field(infopriv, 5));
-               c_val->u.hvm.timer_mode = Int_val(Field(v, 0));
-               c_val->u.hvm.hpet = Int_val(Field(v, 1));
-               c_val->u.hvm.vpt_align = Int_val(Field(v, 2));
+               c_val->u.hvm.timer_mode = Int_val(Field(infopriv, 6));
+               c_val->u.hvm.hpet = Int_val(Field(infopriv, 7));
+               c_val->u.hvm.vpt_align = Int_val(Field(infopriv, 8));
        } else {
                c_val->u.pv.slack_memkb = Int64_val(Field(infopriv, 0));
                c_val->u.pv.cmdline = String_val(Field(infopriv, 1));